// const { resolve } = require('path');
// const { randomFilename, autoScroll } = require('./tools')
// const puppeteer = require('puppeteer')


// 页眉
const headerTemplate = `<div
        style="width:80%;margin:0 auto;font-size:8px;border-bottom:1px solid #ddd;padding:10px 0;display: flex; justify-content: space-between;">
        <span class ='title'>左页眉</span>
        <span class='date'>右页眉</span>
        </div>`
// 页脚
const footerTemplate = `<div style="width:80%;margin:0 auto;font-size:8px;border-top:1px solid #ddd;padding:10px 0;display: flex; justify-content: space-between; ">
          <span class='url'>我是页脚</span>
          <div><span class="pageNumber"></span> / <span class="totalPages"></span></div>
        </div>`;

// /**
//  * 将网页转换为PDF文件
//  * */
// async function handlePageToPdf () { // id: string, title: string, cookie: string, is_open: boolean
//   // 生成浏览器
//   const browser = await puppeteer.launch({
//     headless: true,
//     args: ['--no-sandbox', '--font-render-hinting=medium']
//   })

//   // 打开新窗口
//   const page = await browser.newPage()

//   // 跳转到指定页面
//   // http://127.0.0.1:5501/template_test.html
//   // http://127.0.0.1:5501/tempalte_01.html
//   await page.goto(`http://127.0.0.1:5501/template_test.html`, { // ${baseURL}/article/${id}
//     waitUntil: 'networkidle2', // networkidle2 会一直等待，直到页面加载后同时没有存在 2 个以上的资源请求，这个种状态持续至少 500 ms
//   })


//   // 加载所有懒加载资源
//   // await autoScroll(page) // 因为文章图片引入了懒加载，所以需要把页面滑动到最底部，保证所有图片都加载出来
//   // const ext = '.pdf'
//   // const key = randomFilename('ZP', ext)
//   // const _path = path.resolve('./', key)

//   await page.emulateMediaType('screen');

//   // 指定路径，生成pdf
//   await page.pdf({
//     path: resolve(__dirname, '../public', 'zp.pdf'),
//     format: 'A4',
//     printBackground: true,
//     // '-webkit-print-color-adjust': 'exact',
//     displayHeaderFooter: true,
//     headerTemplate,
//     footerTemplate,
//     margin: {
//       top: 80,
//       bottom: 80
//     },
//     pageRanges: '',
//   })

//   // await page.addStyleTag({
//   //   content: "@page:first {margin-top: 0;} body {margin-top: 1cm;}"
//   // });
//   // 关闭浏览器
//   await browser.close()

//   // return {
//   //   path: _path,
//   //   key,
//   //   ext
//   // }
// }

// handlePageToPdf()
const { resolve } = require('path');
const puppeteer = require('puppeteer');

(async () => {
  // 生成浏览器
  const browser = await puppeteer.launch()
  // 打开新窗口
  const page = await browser.newPage()

  await page.goto(`http://127.0.0.1:5501/template_test.html`, { // ${baseURL}/article/${id}
    waitUntil: 'networkidle2', // networkidle2 会一直等待，直到页面加载后同时没有存在 2 个以上的资源请求，这个种状态持续至少 500 ms
  })

  await page.pdf({
    path: resolve(__dirname, '../public', 'zp.1.pdf'),  // 输出pdf 文件的路径
    format: 'A4',
    printBackground: true, // 默认黑白， 可以打印出背景色
    displayHeaderFooter: true,  // 显示页眉页脚
    headerTemplate,
    footerTemplate,
    margin: {
      top: 60,
      bottom: 60
    },
  })
  await browser.close()
})();